A web application is a computer software application that is hosted in a browser controlled environment (e.g., a Java applet), or which is coded in a browser supported language such as, for example, JAVASCRIPT®, hypertext markup language (HTML) or the like. Such applications are popular due to the widespread and cross platform use of web browsers. Indeed, web browsers are frequently used in many popular operating systems (“OS” or “OSes”) such as, for example, the WINDOWS® OS sold by MICROSOFT®, the MAC OS® sold by APPLE®, and the ANDROID® OS sold by GOOGLE®. They are also used in a devices falling within a wide range of form factors, such as, for example, desktop computers, laptop computers, tablet personal computers (“PC” or “PCs”), and handheld devices (e.g., mobile phones, smart phones, etc.).
Web applications are increasingly being developed using authoring tools that are web applications themselves, i.e., which are hosted in a web browser. Often, such authoring tools take the form of a device simulator that is displayed in a web browser running on a development system. The device simulator includes an image or images of the bezel of a target device (e.g., a mobile phone, a table PC, etc). The web application under development is displayed within the image of the bezel of the target device. In this way, the simulator allows a developer to preview the web application under development in the context of the bezel of the target device.
For a device simulator to accurately represent how the web application will appear on a target device, it needs to be capable of two types of mapping. First, the device simulator must be capable of pixel-to-pixel mapping, wherein one pixel of a simulated display in the device simulator (hereafter, “simulated display”) correlates to one pixel on the display of the target device (hereafter, “target display”). Second, inch-to-inch (i.e., physical) mapping is needed, wherein one inch of a simulated display correlates to one inch of a target display.
While existing authoring tools are useful, they are not capable of accurate inch-to-inch mapping. This is due to the fact that accurate inch-to-inch mapping requires information regarding the number of pixels per inch (PPI) of the simulated display, or in other words, the display of a development system that is running the device simulator. In many instances, the PPI of the simulated display is unknown. Regardless, mapping the PPI of a development display to the PPI of a target display can be difficult, even if the PPI of the development display is known.
In addition, existing web application development tools do not provide a straightforward mechanism for converting electronic documents such as, for example, e-books to interactive document applications for multiple OSes and/or form factors at the same time. Rather, existing web application development tools generally require an application developer to use different tools to generate applications for individual OSes. Such a process can be cumbersome and inconvenient, and can produce interactive document applications that have inconsistent user interfaces between OSes and/or form factors. Moreover, many existing utilities for converting documents to interactive document applications do not adjust the page layout to account for variations in the resolution and screen orientation amongst different platforms. As a result, users of interactive document applications developed using existing tools may have to scroll back and forth to read a single page of the document, which is undesirable.